[INFO] fetching crate miHoYo-API 0.2.18...
[INFO] testing miHoYo-API-0.2.18 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate miHoYo-API 0.2.18 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate miHoYo-API 0.2.18
[INFO] finished tweaking crates.io crate miHoYo-API 0.2.18
[INFO] tweaked toml for crates.io crate miHoYo-API 0.2.18 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate miHoYo-API 0.2.18 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 225 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.12.1 (available: v0.14.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.10.0)
[INFO] [stderr]       Adding reqwest v0.11.27 (available: v0.13.2)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85b045a60d9c6a78f627dafd2dfeb95ec360ab17765d90405e05d58c621ef994
[INFO] running `Command { std: "docker" "start" "-a" "85b045a60d9c6a78f627dafd2dfeb95ec360ab17765d90405e05d58c621ef994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85b045a60d9c6a78f627dafd2dfeb95ec360ab17765d90405e05d58c621ef994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85b045a60d9c6a78f627dafd2dfeb95ec360ab17765d90405e05d58c621ef994", kill_on_drop: false }`
[INFO] [stdout] 85b045a60d9c6a78f627dafd2dfeb95ec360ab17765d90405e05d58c621ef994
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61772690af50226eb0bb4a0fb64b5548dbe6a7c95af3e072c9dac033cfa5db8d
[INFO] running `Command { std: "docker" "start" "-a" "61772690af50226eb0bb4a0fb64b5548dbe6a7c95af3e072c9dac033cfa5db8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling collecting-hashmap v0.2.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling cookie_store v0.20.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling miHoYo-API v0.2.18 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "61772690af50226eb0bb4a0fb64b5548dbe6a7c95af3e072c9dac033cfa5db8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61772690af50226eb0bb4a0fb64b5548dbe6a7c95af3e072c9dac033cfa5db8d", kill_on_drop: false }`
[INFO] [stdout] 61772690af50226eb0bb4a0fb64b5548dbe6a7c95af3e072c9dac033cfa5db8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6e594acab95459ab3b3321ffb72a7e05a87d8b3a309600f97835e52ef125d7f
[INFO] running `Command { std: "docker" "start" "-a" "c6e594acab95459ab3b3321ffb72a7e05a87d8b3a309600f97835e52ef125d7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling miHoYo-API v0.2.18 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         /// Initialize Client variable.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         /// Setting for two cookies connect [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         /// Getting [`crate::components::models::hoyolab::record::Account`] as elements in Vector.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         let accounts = client.get_game_account(Some(Game::StarRail), None).await?;
[INFO] [stdout]    |         -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         /// Extract UID from account.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stdout]    |         --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |           /// Extract StarRail UID from [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stdout] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stdout] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stdout]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stdout] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stdout]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         /// This [`crate::components::chronicle::starrail::StarRailClient::get_preview_data`] is only β.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         /// Getting as [`crate::components::models::starrail::mihomo::Mihomo`].
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...   /// --About lang argument, Here's [corresponding string list](https://github.com/Mar-7th/mihomo.py/blob/master/mihomo/model.py#L8)--
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 | ...   /// I will create a enum of Language.
[INFO] [stdout] 34 | ...   let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |       ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         /// I will create a enum of Language.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uid`
[INFO] [stdout]   --> src/lib.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 27.61s
[INFO] running `Command { std: "docker" "inspect" "c6e594acab95459ab3b3321ffb72a7e05a87d8b3a309600f97835e52ef125d7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6e594acab95459ab3b3321ffb72a7e05a87d8b3a309600f97835e52ef125d7f", kill_on_drop: false }`
[INFO] [stdout] c6e594acab95459ab3b3321ffb72a7e05a87d8b3a309600f97835e52ef125d7f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 373539f38b6698309f3d976e226fa3a0fc0133b02a775de84a06312df4b5f184
[INFO] running `Command { std: "docker" "start" "-a" "373539f38b6698309f3d976e226fa3a0fc0133b02a775de84a06312df4b5f184", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> src/components/cache.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::typing::Dict as normal_dict`
[INFO] [stderr]  --> src/components/cache.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `itertools::Itertools`
[INFO] [stderr]  --> src/components/cache.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use itertools::Itertools;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/client.rs:74:25
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[INFO] [stderr]    |                         ----^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/components/base.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `headers`
[INFO] [stderr]    --> src/components/base.rs:121:35
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `kwargs`
[INFO] [stderr]    --> src/components/base.rs:121:93
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/components/base.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/components/cache.rs:116:32
[INFO] [stderr]     |
[INFO] [stderr] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/components/cache.rs:120:32
[INFO] [stderr]     |
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/components/cache.rs:120:43
[INFO] [stderr]     |
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `retcode` and `message` are never read
[INFO] [stderr]   --> src/components/models/mod.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub(crate) struct Base<T> {
[INFO] [stderr]    |                   ---- fields in this struct
[INFO] [stderr] 10 |     pub(crate) retcode: i32,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 11 |     pub(crate) message: String,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Base` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordCardList` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct RecordCardList {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordCard` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct RecordCard {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordData` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct RecordData {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DataSwitch` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct DataSwitch {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stderr]   --> src/components/base.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub(crate) struct InnerClient {
[INFO] [stderr]    |                   ----------- fields in this struct
[INFO] [stderr] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stderr] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 17 |     pub(crate) lang: Languages,
[INFO] [stderr]    |                ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stderr]    --> src/components/base.rs:120:25
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl InnerClient {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub(crate) async fn request_web_static(
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cookie_identifier` is never used
[INFO] [stderr]   --> src/components/managers/manager.rs:62:15
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BaseCookieManager` is never used
[INFO] [stderr]   --> src/components/managers/manager.rs:74:18
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_exist` is never used
[INFO] [stderr]    --> src/components/managers/manager.rs:100:19
[INFO] [stderr]     |
[INFO] [stderr]  84 | impl CookieManager {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WEB_STATIC_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WEB_API_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ACCOUNT_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:49:19
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BBS_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BBS_REFERER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:57:19
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `COMMUNITY_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:65:19
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `LINEUP_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:73:19
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:77:19
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:87:19
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CALCULATOR_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:97:19
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:101:19
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `TEAPOT_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:102:19
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WIKI_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:106:19
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `HK4E_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:107:19
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `REWARD_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CODE_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:120:19
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `GACHA_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:127:19
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `YSULOG_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:137:19
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `MI18N` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:141:19
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `GameTrait` is never used
[INFO] [stderr]  --> src/components/utils/route.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) trait GameTrait {
[INFO] [stderr]   |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Route` is never constructed
[INFO] [stderr]   --> src/components/utils/route.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub(crate) struct Route(String);
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GameRoute` is never constructed
[INFO] [stderr]   --> src/components/utils/route.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get_url` are never used
[INFO] [stderr]   --> src/components/utils/route.rs:19:19
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl Route {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get_url` are never used
[INFO] [stderr]   --> src/components/utils/route.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl GameRoute {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_genshin_server` is never used
[INFO] [stderr]  --> src/components/utils/uid.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_honkai_server` is never used
[INFO] [stderr]   --> src/components/utils/uid.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_server` is never used
[INFO] [stderr]   --> src/components/utils/uid.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WEEK` is never used
[INFO] [stderr]   --> src/components/cache.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CacheKey` is never constructed
[INFO] [stderr]   --> src/components/cache.rs:44:19
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub(crate) struct CacheKey;
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stderr]   --> src/components/cache.rs:54:16
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) struct Cache {
[INFO] [stderr]    |                   ----- fields in this struct
[INFO] [stderr] 54 |     pub(crate) cache: Dict,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 55 |     pub(crate) maxsize: usize,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 56 |     pub(crate) ttl: f32,
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 57 |     pub(crate) static_ttl: f32,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stderr]    --> src/components/cache.rs:61:19
[INFO] [stderr]     |
[INFO] [stderr]  60 | impl Cache {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChronicleClient` is never constructed
[INFO] [stderr]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BaseError` is never used
[INFO] [stderr]   --> src/error.rs:51:7
[INFO] [stderr]    |
[INFO] [stderr] 51 | trait BaseError {}
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ERRORS` is never used
[INFO] [stderr]    --> src/error.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |         /// Initialize Client variable.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         /// Setting for two cookies connect [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         /// Getting [`crate::components::models::hoyolab::record::Account`] as elements in Vector.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 20 |         let accounts = client.get_game_account(Some(Game::StarRail), None).await?;
[INFO] [stderr]    |         -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         /// Extract UID from account.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stderr]    |         --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |           /// Extract StarRail UID from [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stderr] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stderr] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stderr]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stderr] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stderr]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         /// This [`crate::components::chronicle::starrail::StarRailClient::get_preview_data`] is only β.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         /// Getting as [`crate::components::models::starrail::mihomo::Mihomo`].
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | ...   /// --About lang argument, Here's [corresponding string list](https://github.com/Mar-7th/mihomo.py/blob/master/mihomo/model.py#L8)--
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 | ...   /// I will create a enum of Language.
[INFO] [stderr] 34 | ...   let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |       ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 33 |         /// I will create a enum of Language.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uid`
[INFO] [stderr]   --> src/lib.rs:23:13
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stderr] 
[INFO] [stderr] warning: `miHoYo-API` (lib) generated 56 warnings (run `cargo fix --lib -p miHoYo-API` to apply 11 suggestions)
[INFO] [stderr] warning: `miHoYo-API` (lib test) generated 68 warnings (55 duplicates) (run `cargo fix --lib -p miHoYo-API --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/miHoYo_API-40a2cc9107e374af)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test::demo ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::demo stdout ----
[INFO] [stdout] Error: path not found
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     path not found
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<dotenv::errors::Error>>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<miHoYo_API::client::Client, anyhow::Error> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible, dotenv::errors::Error>>>::from_residual
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: <miHoYo_API::client::Client>::set_from_env
[INFO] [stdout]              at ./src/client.rs:78:21
[INFO] [stdout]    3: miHoYo_API::test::demo::{closure#0}
[INFO] [stdout]              at ./src/lib.rs:17:40
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:446:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:768:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:756:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>::{closure#0}, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:371:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:345:18
[INFO] [stdout]   25: miHoYo_API::test::demo
[INFO] [stdout]              at ./src/lib.rs:37:11
[INFO] [stdout]   26: miHoYo_API::test::demo::{closure#0}
[INFO] [stdout]              at ./src/lib.rs:13:24
[INFO] [stdout]   27: <miHoYo_API::test::demo::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test::demo
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "373539f38b6698309f3d976e226fa3a0fc0133b02a775de84a06312df4b5f184", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "373539f38b6698309f3d976e226fa3a0fc0133b02a775de84a06312df4b5f184", kill_on_drop: false }`
[INFO] [stdout] 373539f38b6698309f3d976e226fa3a0fc0133b02a775de84a06312df4b5f184
